import java.util.HashSet;
import java.util.Set;

public class T14_0411 {
    public int numJewelsInStones(String jewels, String stones) {
        Set<Character> set = new HashSet<>();
        for (int i = 0; i < jewels.length(); i++) {
            set.add(jewels.charAt(i));
        }
        int count = 0;
        for (int i = 0; i < stones.length(); i++) {
            if (set.contains(stones.charAt(i))) {
                count++;
            }
        }
        return count;
    }

    /*    注意：该题最佳的方式是使用HashMap，等后序讲完HashMap之后，同学们
          可以使用HashMap重新坐下该题目
    class Solution {
        public int numJewelsInStones(String J, String S) {
            // 借助Map统计S中每个字符出现的次数
            Map<Character, Integer> m = new TreeMap<>();
            for(int i = 0; i < S.length(); ++i){
                char ch = S.charAt(i);
                Integer val = m.get(ch);
                if(null != val){
                    m.put(ch, val+1);
                }
                else{
                    m.put(ch, 1);
                }
            }
            // 统计每个J中每个宝石种类出现的次数
            int count = 0;
            for(int i = 0; i < J.length(); ++i){
                char ch = J.charAt(i);
                Integer val = m.get(ch);
                if(null != val){
                    count += val;
                }
            }
            return count;
        }
    }*/
}
